<!--<!DOCTYPE html>

<html>
    <head>
        <meta charset="UTF-8">
        <title>Generation du XML</title>
    </head>
    <body> -->
	
<?php
		include 'header.html';
		$groupe = $_POST['groupe'];
		$selecteur = $_POST['selecteur'];
		var_dump($selecteur);
		$tab_general_serial = $_POST['majbdd'];
		// var_dump ($tab_general_serial);
		
        // var_dump($tableaugeneral_serial_slash);
        // $tableaugeneral_serial_deslash = htmlspecialchars_decode($tableaugeneral_serial_slash);
        // var_dump($tableaugeneral_serial_deslash);
        // $tableaugeneral = unserialize($tableaugeneral_serial_deslash);		
		// var_dump($tableaugeneral);
		
		$tab_general_avant = deserialiser($tab_general_serial);

		echo '<div><a href="#actions">aller aux actions</a></div>';
		echo '<div><a href="#bas">aller en bas de la page</a></div>';
		
		echo "<p>vardump de tabgeneral AVANT modif depuis cases à cocher : </p>";
		var_dump($tab_general_avant);

			
	//////////////////////////////////////////////////////////////
	//////////////////// Gestion modifications par cases à cocher
	//////////////////////////////////////////////////////////////
	
		while (list($a) = each($tab_general_avant)){
			while (list($b) = each($tab_general_avant[$a])){
				$id= $tab_general_avant[$a][$b][0];
				echo "<br>=======<br> id = " . $id;
				$flag = false;
				foreach ($selecteur as $valeur_selecteur) {

					// while ($id == $valeur_selecteur) {
						// echo "<br> - - > $id egal $valeur_selecteur";
					// }
				
					if ($id == $valeur_selecteur) {
						echo "<br> - - > $id egal $valeur_selecteur";
						$flag = true;
						break;
					} else {
						echo "<br> - - > $id different $valeur_selecteur";
						$flag = false;
					}
				}
				if ($flag == true) {
					echo "<br> - - - - > <i>$id était sélectionné</i>";
				} else {
					echo "<br> - - - - > <b>$id N'ETAIT PAS sélectionné</b>";
					unset($tab_general_avant[$a][$b]);
				}
			}
		}

		$tab_general = $tab_general_avant;
	
		echo "<p>vardump de tabgeneral APRES modif depuis cases à cocher : </p>";
		var_dump($tab_general);	
		
		
		echo '<div id="actions"></div>';
		echo "<br>===========================================================<br>";
		
		///////////////////////////////////
		//////// 1e partie : MAJ de la BDD
		///////////////////////////////////
	
		// $champs = nom_champs("beaufr2", $groupe);
		// var_dump($champs);
			
		while (list($a) = each($tab_general)){
			
			echo "<h4>a = $a</h4>";
			
			while (list($b) = each($tab_general[$a])){
				
				$id= $tab_general[$a][$b][0];
				echo "<br>=======<br> id = " . $id;
				
				switch ($a) {
					///////////////// INSERT ////////////////////////////
					case "Insert":
						// echo "<p>Appel INSERT</p>";
						// echo "WHEN id = " . $tab_general[$a][$b][0] . " - nom = " . $tab_general[$a][$b][1] . " - prenom = " . $tab_general[$a][$b][2] . " - genre = " . $tab_general[$a][$b][3];
							
						if ($groupe == "Eleves") {
							echo "<br> - - et classe = " . $tab_general[$a][$b][4];
							$values_classes_i = '", "' . $tab_general[$a][$b][4];
						} else { // si = Profs
							echo "<br> - - > et classes = ";
							$tableau_classes = recup_classes($tab_general[$a][$b][0], $tab_general[$a][$b]); // tab_classes
							 for ($cl=0 ; $cl<count($tableau_classes) ; $cl++) {
							 
								/////// mettre un if pour eviter la creation de doublons ?
								echo " " . $tableau_classes[$cl] ;
								$values_a = '("","'. $tableau_classes[$cl] .'","'. $tab_general[$a][$b][0] .'")';
								bdd_insert("beaufr2", "Assignations", $values_a);
								$values_classes_i = "";
							}
						}
						$values_i = '("'. $tab_general[$a][$b][0];
						$values_i .= '", "'. $tab_general[$a][$b][1];
						$values_i .= '", "'. $tab_general[$a][$b][2];
						$values_i .= '", "'. $tab_general[$a][$b][3]; 
						$values_i .= '", "'. 'civ'; 
						$values_i .= '", "'. '0000-00-00'; 
						$values_i .= '", "'. 'AAA.BBB'; 
						$values_i .=  $values_classes_i .'")';
						bdd_insert("beaufr2", $groupe, $values_i);
						
						break;
					///////////////// UPDATE ////////////////////////////
					case "Update":
						echo "<p>Appel UPDATE</p>";
						echo "WHEN id = " . $tab_general[$a][$b][0] . " - nom = " . $tab_general[$a][$b][1] . " - prenom = " . $tab_general[$a][$b][2] . " - genre = " . $tab_general[$a][$b][3];
							// // bdd_update("beaufr2", $groupe, $set, $where_id);
						
						if ($groupe == "Eleves") {
							echo "<br> - - et classe = " . $tab_general[$a][$b][4];
							// $values_classes_u = '","' . $tab_general[$a][$b][4];
						} else {
							echo "<br> - - > et classes = ";
							$tableau_classes = recup_classes($tab_general[$a][$b][0], $tab_general[$a][$b]); // tab_classes
							
							/// update = DELETE + insert
							$champs_a = nom_champs("beaufr2", "Assignations");
							$where_id_in = $champs_a[2] . '="' . $tab_general[$a][$b][0] .'"';
							bdd_delete("beaufr2", "Assignations", $where_id_in);


							/// update = delete + INSERT
							for ($cl=0 ; $cl<count($tableau_classes) ; $cl++) {
								/////// mettre un if pour eviter la creation de doublons ?
								echo " " . $tableau_classes[$cl] ;
								$values_a = '("","'. $tableau_classes[$cl] .'","'. $tab_general[$a][$b][0] .'")';
								bdd_insert("beaufr2", "Assignations", $values_a);
							}
							
							
							
							for ($cl=0 ; $cl<count($tableau_classes) ; $cl++) {
								echo " " . $tableau_classes[$cl] ;
								
								// $champs_a = nom_champs("beaufr2", "Assignations");
								// $where_id_in = $champs_a[2] . '="' . $tab_general[$a][$b][0] .'"';
								// $values_a = '("","'. $tableau_classes[$cl] .'","'. $tab_general[$a][$b][0] .'")';
								// bdd_insert("beaufr2", "Assignations", $values_a);
								// $values_classes_i = "";
							}
						}
						$champs_u = nom_champs("beaufr2", $groupe);
						
						$set  =  $champs_u[1] .'="'. $tab_general[$a][$b][1] .'"';
						$set .=  ', ' .$champs_u[2] .'="'. $tab_general[$a][$b][2] .'"';
						$set .=  ', ' .$champs_u[3] .'="'. $tab_general[$a][$b][3]. '"';
						
						if ($groupe == "Eleves") {
							$set .=  ", " .$champs_u[7]. '="' .$tab_general[$a][$b][4]. '"';
						}
						$where_id = $champs_u[0] . '="' . $tab_general[$a][$b][0] .'"';
						bdd_update("beaufr2", $groupe, $set, $where_id);
						
						
						break;
					///////////////// DELETE ////////////////////////////
					case "Delete":
						echo "<p>Appel DELETE</p>";
						echo "WHEN id = " . $tab_general[$a][$b][0] . " - nom = " . $tab_general[$a][$b][1] . " - prenom = " . $tab_general[$a][$b][2] . " - genre = " . $tab_general[$a][$b][3];
							$champs_g = nom_champs("beaufr2", $groupe);
							$where_id_in = $champs_g[0] . '="' . $tab_general[$a][$b][0] .'"';
							bdd_delete("beaufr2", $groupe, $where_id_in);
						
						if ($groupe == "Eleves") {
							echo "<br> - - et classe = " . $tab_general[$a][$b][4];
							
						} else {
							echo "<br> - - > et classes = ";
							$tableau_classes = recup_classes($tab_general[$a][$b][0], $tab_general[$a][$b]); // tab_classes
							$champs_a = nom_champs("beaufr2", "Assignations");
							$where_id_in = $champs_a[2] . '="' . $tab_general[$a][$b][0] .'"';
							bdd_delete("beaufr2", "Assignations", $where_id_in);							
							$values_classes_d = "";
						}					
						break;
					default : 
						echo "<p>Pas d'appel, ACTION inconnue ou non gérée</p>";
				}
			}
		}
		
		
		
		echo "<br><p>Mise à jour de la BDD effectuée</p>";
		
?>		
		<div id="bas"></div>

        <form method="POST" action="generXML.php">
            <input type="hidden" name="generer" id="generer" value="<?php echo serialiser($tab_general) ?>">
            <input type="hidden" name="groupe" id="groupe" value="<?php echo $groupe?>">
            <input type="hidden" name="titre" id="titre" value="csv2xml pour ILIAS - Generation du XML">
            <button type="submit">Générer le XML</button>
        </form>             
            
    </body>
</html>		